package com.bgt.springboot.first.dao.base;

import java.io.Serializable;

/**
 *
 * @des 基础Mapper功能
 * @param <T> 实体类比如User,Role等
 * @param <E> 预留查下参数Query等
 * @param <PK>  主键类型 比如Interger，String等等
 */

public interface BaseMapper <T, E, PK extends Serializable> {

    /**
     * 添加
     *
     * @param record
     * @return
     */
    public Integer insert(T record);

    /**
     * 根据主键更新
     *
     * @param record
     * @return
     */
    public Integer updateById(T record);

    /**
     * 根据微医订单id更新
     *
     * @param record
     * @return
     */
    public Integer updateByOrderNo(T record);

    /**
     * 根据主键获取
     *
     * @param id
     * @return
     */
    public T getById(PK id);

    /**
     * 根据微医订单id获取物流信息
     *
     * @param orderNo
     * @return
     */
    public T getByOrderNo(PK orderNo);
}
